Our first implementation case is based on a dataset of UML models. In section \ref{uml-dataset} we describe the UML dataset with further details, while here we briefly describe general characteristics about UML.

UML (Unified Modeling Language) is a semi-formal visual modeling language. It is based on the object-oriented paradigm. UML is a standard used for the specification of software projects. A UML project is composed by a set of diagrams that can be divided in two categories:
\begin{itemize}
 \item \emph{structural}: they empathize the static structure of a system using objects, attributes, operations and associations. Some examples of structural diagrams are the \emph{class diagram} and the \emph{component diagram},
 \item \emph{behavioral}: they describe the dynamic functioning of the components showing the interaction between objects, their internal state and the information flow. Examples of such diagrams are \emph{activity diagrams} and \emph{use case diagrams}.
\end{itemize}

Our dataset of project models conforming to the UML metamodel consists of a set of class diagrams describing in turn several modeling languages (e.g. HTML, XML, etc.). The details about the metamodel and the dataset are given in Section \ref{uml-dataset}.
